package com.enjoyor.soa.traffic.api.service.dubbo.tpcms;

import com.enjoyor.soa.traffic.api.dto.tpcms.ApplyZoneDto;
import com.enjoyor.soa.traffic.api.dto.tpcms.InfoZoneDto;
import com.enjoyor.soa.traffic.util.pojo.Page;
import com.enjoyor.soa.traffic.util.pojo.ResultPojo;

/**
 * 申请区域接口
 * 
 * @author zsy 2018年5月2日
 *
 */
public interface IDubboInfoZoneService {

    /**
     * 查询区域分页信息
     * 
     * @param page
     * @return
     */
    @SuppressWarnings("rawtypes")
    public ResultPojo getInfoZonePage(Page page);

    /**
     * 查询区域信息列表
     * 
     * @param applyZoneId
     *            区域Id
     * @param applyZoneName
     *            区域名称
     * @param zoneTypeId
     *            区域类型id
     * @param isUse
     *            状态
     * @return
     */
    public ResultPojo getInfoZoneList(String applyZoneId, String applyZoneName, String zoneTypeId, String isUse);

    /**
     * 新增区域信息
     * 
     * @param applyZoneDto
     *            区域信息Dto(含限时时段表)
     * @param userName
     *            用户信息
     */
    public ResultPojo insertInfoZone(ApplyZoneDto applyZoneDto, String userName);

    /**
     * 修改区域信息
     * 
     * @param applyZoneDto
     *            区域信息Dto(含限时时段表)
     * @param userName
     *            用户信息
     */
    public ResultPojo editInfoZone(ApplyZoneDto applyZoneDto, String userName);

    /**
     * 删除区域信息(逻辑删除)
     * 
     * @param infoZoneId
     *            区域信息类ID
     * @param userName
     *            用户信息
     */
    public ResultPojo deleteInfoZone(String infoZoneId, String userName);

    /**
     * 绘制区域地图位置信息
     * 
     * @param infoZone
     *            区域信息实体类
     * @param userName
     *            用户信息
     */
    public ResultPojo drawingZoneShape(InfoZoneDto infoZone, String userName);

}
